package com.yunyouyi.cpicture.application.service;

import com.yunyouyi.cpicture.interfaces.dto.space.analyze.*;
import com.yunyouyi.cpicture.interfaces.vo.space.analyze.*;
import com.yunyouyi.cpicture.domain.space.entity.Space;
import com.yunyouyi.cpicture.domain.user.entity.User;

import java.util.List;

public interface SpaceAnalyzeApplicationService {
    /**
     * 获取空间使用情况
     */
    SpaceUsageAnalyzeResponse getSpaceUsageAnalyze(SpaceUsageAnalyzeDTO spaceUsageAnalyzeDTO, User loginUser);

    /**
     * 空间分类情况
     */
    List<SpaceCategoryAnalyzeResponse> getSpaceCategoryAnalyzeResponse(SpaceCategoryAnalyzeDTO spaceCategoryAnalyzeDTO, User loginUser);

    /**
     * 空间标签情况
     */
    List<SpaceTagAnalyzeResponse>  getSpaceTagAnalyzeDTO(SpaceTagAnalyzeDTO spaceAnalyzeDTO, User loginUser);

    /**
     * 空间用户情况
     */
    List<SpaceUserAnalyzeResponse> getSpaceUserAnalyzeResponse(SpaceUserAnalyzeDTO spaceUserAnalyzeDTO, User loginUser);

    /**
     * 空间排行情况
     */
    List<Space> getSpaceRankAnalyze(SpaceRankAnalyzeDTO spaceRankAnalyzeDTO, User loginUser);

    /**
     * 空间大小情况
     */
    List<SpaceSizeAnalyzeResponse> getSpaceSizeAnalyze(SpaceSizeAnalyzeDTO spaceSizeAnalyzeDTO, User loginUser);
}
